Message Signaled Interrupts (“MSI”) is a feature in computing systems that enables devices in the system to request service from the CPU of the system by writing messages to location addresses, based on the type of service requested. Typically, the locations to which the messages are written are located in registers included in an interrupt controller which may be included in a system controller, or root complex, of the computing system. Each particular service request, or interrupt, consists of a memory write transaction to a particular location in the interrupt controller. When a CPU reads the information stored in the interrupt controller, the location address of the interrupt within the interrupt controller will identify the type of service requested by the device that sent the interrupt. Each write transaction comprises an address which indicates the memory location which, in the case of MSI, is a register in the interrupt controller, and data, which indicates a particular bit position within the register. The addresses and data are programmed by the CPU to the devices from which the interrupts are sent. Upon receiving a memory write, the interrupt controller generates an interrupt to the CPU, which reads the registers to determine what type of service is being requested by the device that initiated the memory write.